package com.yzt.zhuju.network.service;

import com.yzt.zhuju.network.apiconfig.MessageUrlConstant;
import com.yzt.zhuju.network.entity.message.GroupBaseInfo;
import com.yzt.zhuju.network.entity.message.GroupInfoBean;
import com.yzt.zhuju.network.entity.message.RedPackageStatusInfo;
import com.yzt.plugin_network.response.HttpResponse;

import java.util.List;

import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

/**
 * author : bob
 * date   : 2022/12/6
 * desc   :
 */
public interface MessageService {

    @GET(MessageUrlConstant.GET_STRANGER_LIST)
    Observable<HttpResponse<List<String>>> getStrangerList(@Query("targetUids") String targetUids);

    /**
     * 获取红包状态
     */
    @POST(MessageUrlConstant.GET_RED_MESSAGE_STATUS)
    Observable<HttpResponse<RedPackageStatusInfo>> getRedPkgStatus(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_CREATE)
    Observable<HttpResponse<GroupInfoBean>> groupChatCreate(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_DETAIL)
    Observable<HttpResponse<GroupInfoBean>> groupChatInfo(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_EDIT_NAME)
    Observable<HttpResponse<Object>> groupChatNameEdit(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_USER_LIST)
    Observable<HttpResponse<GroupBaseInfo>> groupChatUserList(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_MUTE)
    Observable<HttpResponse<Object>> groupMessageMute(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_QUIT)
    Observable<HttpResponse<Object>> groupQuit(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_INVITE)
    Observable<HttpResponse<Object>> groupInvite(@Body RequestBody body);

    @POST(MessageUrlConstant.POST_GROUP_KICK)
    Observable<HttpResponse<Object>> groupKick(@Body RequestBody body);

}
